import Fly from 'flyio/dist/npm/wx'
import store from '@/store'
export var fly =new Fly;
// fly 基础配置
fly.config.headers['Content-Type'] = 'application/x-www-form-urlencoded';//定义公共headers
fly.config.parseJson=false;//设置超时
//设置请求基地址
// fly.config.baseURL="http://192.168.2.238:8008/lookguess/mobile/" // 开发调试
fly.config.baseURL="https://ggbsq.xingpanwang.com/lookguess/mobile/" // 测试外网


// 设置拦截器方法 -----------------------------------------------
  
let rTime = 0;//重新请求次数 限制为三次
// 请求拦截器
export function flyRequest(){
  fly.interceptors.request.use(request => {
    if (request.url != "/login") {
      request.headers["Cookie"] = "JSESSIONID="+store.state.SESSIONID;//服务端会话id,解决后端session问题
    }
  })
}
//响应拦截器
export function flyResponse(){
  fly.interceptors.response.use(response => {
    // -8 授权过期 重新登录
    if (response.data.Tag == -8 && rTime < 3) {
      rTime++;
      // 重新登录
      wx.showToast({
        title: "授权过期,请重新尝试",
        icon: "none"
      })
      reLogin();
      setTimeout(() => {
        wx.reLaunch({
          url: '/pages/entry/index'
        })
      }, 500);
    }
  })
}


// 重新登录方法，点击开始游戏，第一次执行，授权过期后重新执行
function reLogin() {
  wx.login({
    success: res => {
      let code = res.code;
      fly.get("/login", {
        code: code,
      })
        .then(res => {
          console.log("授权重新登录");
          console.log(res);
          store.commit('setSessionId', res.data.SessionId); //重置全局SESSIONID
        });
    }
  });
}